export default {
  // 下面这个属性是命名空间的意思，表示当前的vuex是一个 模块
  namespaced: true,
  state: {
    userName: '鲁班',
    count: 100,
    list: [1,2,3,4,5,6,7]
  },
  getters: {
    oushuGetters(state){
      return state.list.filter(item => item % 2 === 0)
    }
  },
  mutations:{
    updateCountMutations(state, payload) {
      state.count += payload
    }
  },
  // actions可以放异步代码，mutation不能放异步代码
  // actions里面修改数据，最后也需要 commit 调用mutations去修改
  actions: {
    updateCountActions(context, payload) {
      // context.state.count++ 不能这样写，只能提交一个mutations
      setTimeout(() => {
        // context.state += payload
        context.commit('updateCountMutations', payload)
      }, 2000);
    }
  }
}